package com.cskaoyan.javase.oop2._1extends._9override;
/**
 * 注意事项:
 *      1.思考,什么样的方法不能被重写?
 *          a.静态方法属于类,如果父子类同名是分别属于两个类的两个方法
 *              继承不能继承,更不能重写
 *          b.构造器
 *              构造器不能被继承,更不能被重写
 *          c.私有(成员)方法
 *              虽然能够被子类继承,但是子类没有访问权限,更不能重写它
 *
 *      2.实践开发中，重写一个方法，不要傻乎乎的真的去复制粘贴父类代码，这样做不仅浪费时间，也经常容易忘记添加注解              @Override，推荐以下几种方式：
 *
 *                  1.直接在子类中，手写出父类方法的名字。看到出现父类方法提示，直接回车即可重写。
 *                  2.使用快捷键Alt + Insert，在选项Override Methods中，选择重写子类的方法。
 *
 *
 * @since 10:49
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
}
class Person{
    public void eat(){
        System.out.println("人不吃饭,就饿死了!");
    }

    public static void test(){
        System.out.println("person");
    }

    private void test2(){}

    public void study(){
        System.out.println("人都要学习!");
    }

    public void sleep(){
        System.out.println("人都要睡觉!");
    }
}
class Student extends Person{
    @Override
    public void eat(){
        System.out.println("吃完饭就学习!");
    }

    // @Override
    public static void test(){
        System.out.println("student");
    }

    // @Override
    public void test2(){}

    @Override
    public void study() {
        System.out.println("学生就更要学习!");
    }

    @Override
    public void sleep() {
        System.out.println("学生可以多睡点!但是上课不要睡觉!");
    }
}